﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using TPOJ.Model;

namespace TPOJ.IDAL
{
    public interface IContestDAO
    {
        IList<Contest> GetContests();

        Contest GetContest(int id);

        IList<Standing> GetContestStanding(int contestId);

        IList<Contest> GetCurrentContests();

        Standing FindContestStanding(int contestId, int accountId);

        Standing AddContestStanding(int contestId, int accountId);

        StandingCell FindContestStandingCell(int standingId, int id);

        StandingCell AddContestStandingCell(int standingId, int cellId);

        StandingCell EditContestStandingCell(int id, int standingId, int time, int waSubmits, int submits);

        void RefreshStanding(int standingId);

        void Create(Contest contest);

        void AddContestProblem(int cid, int pid);

        void DeleteContestProblem(int cid, int pid);

        Contest Edit(Contest contest);
    }
}
